package cn.lutu.domain.repository;

import cn.lutu.protocol.entity.RoleUser;
import cn.lutu.protocol.entity.User;
import cn.lutu.protocol.vo.UserVO;



public interface UserRepository {

/**
 * 根据用户名查询用户的登录信息
 *
 * @param userName 用户名
 * @return 匹配的用户的登录信息，如果没有匹配的数据，则返回null
 */
UserVO selectByUserName(String userName);

    /**
     * 根据用户id查询用户数据详情
     *
     * @param id 用户id
     * @return 匹配的用户数据详情，如果没有匹配的数据，则返回null
     */
    UserVO selectById(Long id);
    /**
     * 根据用户id修改用户的数据
     *
     * @param user 封装了用户id和新的数据的对象
     * @return 受影响的行数
     */
    int updateInfoById(User user);
    /**
     * 根据用户原密码修改用户的密码
     *
     * @param user 封装了用户和新的密码
     * @return 受影响的行数
     */
    int updatePassword(User user);
    /**
     * 用户注册
     *
     * @param user 封装了用户信息
     * @return 受影响的行数
     */
    int insert(User user);




}
